In [1]:
import PV_ICE
In [2]:
import matplotlib.pyplot as plt
In [3]:
PV_ICE.__version__
Out[3]:
'v0.2.0+337.g1bdcead'
In [4]:
modulefile_m = r'C:\Users\sayala\Documents\GitHub\PV_ICE\tests\baseline_modules_test_3.csv'
materialfile_m = r'C:\Users\sayala\Documents\GitHub\PV_ICE\tests\baseline_material_test_3.csv'
testfolder = 'TEMP'
In [5]:
sim1 = PV_ICE.Simulation(name='sim1', path=testfolder)
sim1.createScenario(name='scen1', massmodulefile=modulefile_m)
sim1.scenario['scen1'].addMaterial('mat1', massmatfile=materialfile_m)
path = TEMP
In [6]:
sim1.calculateMassFlow()
>>>> Calculating Material Flows <<<<

Working on Scenario:  scen1
********************
Finished Area+Power Generation Calculations
==> Working on Material :  mat1
In [7]:
year, cum = sim1.aggregateResults()
In [8]:
# TO DO: Add HQ MF OU to aggregateResults 
In [9]:
sim1.scenario['scen1'].material['mat1'].matdataOut_m.keys()
Out[9]:
Index(['mat_EOL_Recycled_2_HQ', 'mat_EOL_Recycled_2_OQ',
       'mat_EOL_Recycled_HQ_into_MFG', 'mat_EOL_Recycled_HQ_into_OU',
       'mat_EOL_Recycled_VAT', 'mat_EnteringModuleManufacturing_total',
       'mat_EnteringModuleManufacturing_virgin', 'mat_L0', 'mat_L1', 'mat_L2',
       'mat_L3', 'mat_L4', 'mat_LostinModuleManufacturing',
       'mat_MFG_Recycled_HQ_into_MFG', 'mat_MFG_Recycled_HQ_into_OU',
       'mat_MFG_Recycled_into_HQ', 'mat_MFG_Recycled_into_OQ', 'mat_MFG_Scrap',
       'mat_MFG_Scrap_Landfilled', 'mat_MFG_Scrap_Recycled_Losses_Landfilled',
       'mat_MFG_Scrap_Recycled_Successfully', 'mat_MFG_Scrap_Sentto_Recycling',
       'mat_Manufacturing_Input', 'mat_PG2_stored', 'mat_Total_EOL_Landfilled',
       'mat_Total_Landfilled', 'mat_Total_MFG_Landfilled',
       'mat_Total_Recycled_OU', 'mat_UsedSuccessfullyinModuleManufacturing',
       'mat_Virgin_Stock', 'mat_Virgin_Stock_Raw', 'mat_reMFG',
       'mat_reMFG_2_recycle', 'mat_reMFG_all_unyields',
       'mat_reMFG_mod_unyield', 'mat_reMFG_target', 'mat_reMFG_untarget',
       'mat_reMFG_unyield', 'mat_reMFG_yield', 'mat_recycled_PG4',
       'mat_recycled_all', 'mat_recycled_target', 'mat_recycled_yield'],
      dtype='object')
In [10]:
plt.plot(sim1.scenario['scen1'].material['mat1'].matdataOut_m['mat_recycled_PG4'])
Out[10]:
[<matplotlib.lines.Line2D at 0x1b25673ba90>]
In [11]:
plt.plot(sim1.scenario['scen1'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_OU'])
Out[11]:
[<matplotlib.lines.Line2D at 0x1b256e2c280>]
In [12]:
year.keys()
Out[12]:
Index(['VirginStock_mat1_sim1_scen1_[Tonnes]',
       'VirginStock_Module_sim1_scen1_[Tonnes]',
       'WasteAll_mat1_sim1_scen1_[Tonnes]',
       'WasteAll_Module_sim1_scen1_[Tonnes]',
       'WasteEOL_mat1_sim1_scen1_[Tonnes]',
       'WasteEOL_Module_sim1_scen1_[Tonnes]',
       'WasteMFG_mat1_sim1_scen1_[Tonnes]',
       'WasteMFG_Module_sim1_scen1_[Tonnes]',
       'newInstalledCapacity_sim1_scen1_[MW]',
       'ActiveCapacity_sim1_scen1_[MW]',
       'DecommisionedCapacity_sim1_scen1_[MW]'],
      dtype='object')
In [13]:
plt.plot(year['VirginStock_mat1_sim1_scen1_[Tonnes]'])
Out[13]:
[<matplotlib.lines.Line2D at 0x1b256e96b50>]
In [14]:
plt.plot(year['ActiveCapacity_sim1_scen1_[MW]'])
Out[14]:
[<matplotlib.lines.Line2D at 0x1b256f01bb0>]
In [15]:
sim1.plotMetricResults()
[]
In [16]:
sim1.createScenario(name='scen2', massmodulefile=modulefile_m)
sim1.scenario['scen2'].addMaterial('mat1', massmatfile=materialfile_m)
In [17]:
# sim1.scenario['scen2'].perfectRecycling()
#'mat_EOL_RecycledHQ_Reused4MFG'

sim1.scenMod_perfectRecycling(scenarios='scen2')
In [18]:
sim1.calculateMassFlow()
>>>> Calculating Material Flows <<<<

Working on Scenario:  scen1
********************
Finished Area+Power Generation Calculations
==> Working on Material :  mat1
Working on Scenario:  scen2
********************
Finished Area+Power Generation Calculations
==> Working on Material :  mat1
Recycled surplus End of Sim for Mat  mat1  Scenario  scen2  =  210.0  tonnes
In [19]:
year, cum = sim1.aggregateResults()
In [20]:
# TO DO: Add HQ MF OU to aggregateResults 
In [21]:
sim1.scenario['scen1'].material['mat1'].matdataOut_m.keys()
Out[21]:
Index(['mat_EOL_Recycled_2_HQ', 'mat_EOL_Recycled_2_OQ',
       'mat_EOL_Recycled_HQ_into_MFG', 'mat_EOL_Recycled_HQ_into_OU',
       'mat_EOL_Recycled_VAT', 'mat_EnteringModuleManufacturing_total',
       'mat_EnteringModuleManufacturing_virgin', 'mat_L0', 'mat_L1', 'mat_L2',
       'mat_L3', 'mat_L4', 'mat_LostinModuleManufacturing',
       'mat_MFG_Recycled_HQ_into_MFG', 'mat_MFG_Recycled_HQ_into_OU',
       'mat_MFG_Recycled_into_HQ', 'mat_MFG_Recycled_into_OQ', 'mat_MFG_Scrap',
       'mat_MFG_Scrap_Landfilled', 'mat_MFG_Scrap_Recycled_Losses_Landfilled',
       'mat_MFG_Scrap_Recycled_Successfully', 'mat_MFG_Scrap_Sentto_Recycling',
       'mat_Manufacturing_Input', 'mat_PG2_stored', 'mat_Total_EOL_Landfilled',
       'mat_Total_Landfilled', 'mat_Total_MFG_Landfilled',
       'mat_Total_Recycled_OU', 'mat_UsedSuccessfullyinModuleManufacturing',
       'mat_Virgin_Stock', 'mat_Virgin_Stock_Raw', 'mat_reMFG',
       'mat_reMFG_2_recycle', 'mat_reMFG_all_unyields',
       'mat_reMFG_mod_unyield', 'mat_reMFG_target', 'mat_reMFG_untarget',
       'mat_reMFG_unyield', 'mat_reMFG_yield', 'mat_recycled_PG4',
       'mat_recycled_all', 'mat_recycled_target', 'mat_recycled_yield'],
      dtype='object')
In [22]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_recycled_PG4'])
Out[22]:
[<matplotlib.lines.Line2D at 0x1b25b9e22b0>]
In [23]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_OU'])
Out[23]:
[<matplotlib.lines.Line2D at 0x1b25bb72700>]
In [37]:
year['VirginStock_mat1_sim1_scen1_[Tonnes]'].sum()
Out[37]:
290.0
In [38]:
year['VirginStock_mat1_sim1_scen2_[Tonnes]'].sum()
Out[38]:
210.0
In [34]:
sim1.scenario['scen1'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_OU'].sum()
Out[34]:
290000000.0
In [40]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG'])
Out[40]:
[<matplotlib.lines.Line2D at 0x1b25bf87a00>]
In [41]:
sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG'].sum()
Out[41]:
290000000.0
In [51]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_VAT'], label='What actually got used in reMFG')
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG'], label='What got Sent in reMFG')
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG']
         -
         sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_VAT'], label='What did not got used in reMFG')
plt.legend()

(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG']
         -
         sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_VAT']).sum()
Out[51]:
210000000.0
In [43]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_VAT'])
Out[43]:
[<matplotlib.lines.Line2D at 0x1b25c012940>]
In [ ]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_VAT'])
In [24]:
plt.plot(sim1.scenario['scen2'].material['mat1'].matdataOut_m['mat_EOL_Recycled_HQ_into_MFG'])
Out[24]:
[<matplotlib.lines.Line2D at 0x1b25ba0cbb0>]
In [25]:
year.keys()
Out[25]:
Index(['VirginStock_mat1_sim1_scen1_[Tonnes]',
       'VirginStock_Module_sim1_scen1_[Tonnes]',
       'WasteAll_mat1_sim1_scen1_[Tonnes]',
       'WasteAll_Module_sim1_scen1_[Tonnes]',
       'WasteEOL_mat1_sim1_scen1_[Tonnes]',
       'WasteEOL_Module_sim1_scen1_[Tonnes]',
       'WasteMFG_mat1_sim1_scen1_[Tonnes]',
       'WasteMFG_Module_sim1_scen1_[Tonnes]',
       'VirginStock_mat1_sim1_scen2_[Tonnes]',
       'VirginStock_Module_sim1_scen2_[Tonnes]',
       'WasteAll_mat1_sim1_scen2_[Tonnes]',
       'WasteAll_Module_sim1_scen2_[Tonnes]',
       'WasteEOL_mat1_sim1_scen2_[Tonnes]',
       'WasteEOL_Module_sim1_scen2_[Tonnes]',
       'WasteMFG_mat1_sim1_scen2_[Tonnes]',
       'WasteMFG_Module_sim1_scen2_[Tonnes]',
       'newInstalledCapacity_sim1_scen1_[MW]',
       'newInstalledCapacity_sim1_scen2_[MW]',
       'ActiveCapacity_sim1_scen1_[MW]',
       'DecommisionedCapacity_sim1_scen1_[MW]',
       'ActiveCapacity_sim1_scen2_[MW]',
       'DecommisionedCapacity_sim1_scen2_[MW]'],
      dtype='object')
In [28]:
plt.plot(year['VirginStock_mat1_sim1_scen1_[Tonnes]'])
plt.plot(year['VirginStock_mat1_sim1_scen2_[Tonnes]'])
Out[28]:
[<matplotlib.lines.Line2D at 0x1b25bee0280>]
In [30]:
plt.plot(year['ActiveCapacity_sim1_scen2_[MW]'])
Out[30]:
[<matplotlib.lines.Line2D at 0x1b25bef6cd0>]
In [31]:
sim1.plotMetricResults()
[]
In [ ]:
#sim1.scenario['scen2'].scenMod_perfectRecycling()